import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent } from './app.component';
import { NZ_I18N } from 'ng-zorro-antd/i18n';
import { NzListModule} from 'ng-zorro-antd/list'

import { en_US } from 'ng-zorro-antd/i18n';
import { registerLocaleData } from '@angular/common';
import en from '@angular/common/locales/en';
import { FormsModule,ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpComponent } from './components/http/http.component';
import { TestComponent } from './components/test/test.component';
import { NzButtonModule } from 'ng-zorro-antd/button'
import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
import { GridComponent } from './jack/components/grid/grid.component';
import { InputComponent} from './jack/components/input/input.component';
import { ButtonComponent } from './jack/components/button/button.component';
import { ListComponent } from './jack/components/list/list.component';
import { ModalComponent } from './jack/components/modal/modal.component';
import { TreeComponent } from './jack/components/tree/tree.component';
import { TableComponent } from './jack/components/table/table.component';
import { BottomSheetComponent } from './jack/components/bottom-sheet/bottom-sheet.component';
import { IconsComponent } from './jack/components/icons/icons.component';
import { TabsComponent } from './jack/components/tabs/tabs.component';
import { TooltipComponent } from './jack/components/tooltip/tooltip.component';
import { SnackbarComponent } from './jack/components/snackbar/snackbar.component';
import { BottomSheetItemComponent } from './jack/components/bottom-sheet/bottom-sheet-item.component';
import { FormComponent } from './jack/components/form/form.component';
import { FormFieldComponent } from './jack/components/form-field/form-field.component';
import { RadioComponent } from './jack/components/radio/radio.component';
import { RadioGroupComponent } from './jack/components/radio-group/radio-group.component';
import { TabItemComponent } from './jack/components/tabs/tab-item.component';
import { ReactiveFormsComponent } from './components/lab/reactive-forms/reactive-forms.component';
import { MsgComponent } from './components/lab/msg/msg.component';
import { EffectiveToolComponent } from './jack/effective-tool/effective-tool.component';
import {DragandrdopDirective} from './jack/directives/dragandrdop.directive';
import { DropDirective } from './jack/directives/drop.directive';
import { DragDirective } from './jack/directives/drag.directive'


registerLocaleData(en);

@NgModule({

  declarations: [
    DragandrdopDirective,
    AppComponent,
    HttpComponent,
    TestComponent,
    GridComponent,
    InputComponent,
    ButtonComponent,
    ListComponent,
    ModalComponent,
    TreeComponent,
    TableComponent,
    BottomSheetComponent,
    IconsComponent,
    TabsComponent,
    TooltipComponent,
    SnackbarComponent,
    BottomSheetItemComponent,
    FormComponent,
    FormFieldComponent,
    RadioComponent,
    RadioGroupComponent,
    TabItemComponent,
    ReactiveFormsComponent,
    MsgComponent,
    EffectiveToolComponent,
    DropDirective,
    DragDirective,
  ],
  imports: [
    NzListModule,
    NzToolTipModule,
    BrowserModule,
    ReactiveFormsModule,
    FormsModule,
    HttpClientModule,
    NzButtonModule, 
    BrowserAnimationsModule
  ],
  providers: [{ provide: NZ_I18N, useValue: en_US }],
  bootstrap: [AppComponent]
})
export class AppModule { }
